def dfs(num,path,lst,start):
    if start>=len(str(num)): 
        lst.append(''.join([chr(ord('a')+i) for i in path]))
        return 
    for j in range(start+1,start+3):
        if j<=len(str(num)) and int(str(num)[start:j])<26:
            path.append(int(str(num)[start:j]))
            dfs(num,path,lst,j)
            path.pop()

def solve(num):
    lst=[]
    dfs(num,[],lst,0)
    return lst

print(solve(12258))